﻿package kit4j.common.command.executor;

import kit4j.common.command.Command;

/**
 * Command对象的执行者接口。
 * 
 * @author MiniKnife
 * 
 */
public interface CommandExecutor {
	/**
	 * 添加一个Command对象。
	 * 
	 * @param cmd
	 *            要添加的Command对象
	 */
	void addCommand(Command cmd);

	/**
	 * 移除一个Command对象。
	 * 
	 * @param cmd
	 *            要移除的Command对象
	 */
	void removeCommand(Command cmd);

	/**
	 * 执行所有Command。
	 * 
	 * @throws Exception
	 *             执行过程中可能抛出的异常
	 */
	void execute() throws Exception;
}
